Add another cross-fade reftest
authorMatthias Clasen <mclasen@redhat.com>
Mon, 9 Oct 2017 02:45:05 +0000 (22:45 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 9 Oct 2017 02:45:05 +0000 (22:45 -0400)
testsuite/gsk/cross-fades.node [new file with mode: 0644]
testsuite/gsk/cross-fades.png [new file with mode: 0644]
testsuite/gsk/test-render-nodes.c

diff --git a/testsuite/gsk/cross-fades.node b/testsuite/gsk/cross-fades.node
new file mode 100644 (file)
index 0000000..e71ac23
Binary files /dev/null and b/testsuite/gsk/cross-fades.node differ
diff --git a/testsuite/gsk/cross-fades.png b/testsuite/gsk/cross-fades.png
new file mode 100644 (file)
index 0000000..d1fb39d
Binary files /dev/null and b/testsuite/gsk/cross-fades.png differ
index 14dd5d91f844f8e9d9440f7e7074c442e708d368..f24ddb5d03fe0d6db062847b69b35a6cbec886f9 100644 (file)
@@ -345,6 +345,39 @@ cross_fade (void)
   return container;
 }
 
+static GskRenderNode *
+cross_fades (void)
+{
+  GskRenderNode *child1;
+  GskRenderNode *child2;
+  GskRenderNode *node;
+  GskRenderNode *nodes[5];
+  GskRenderNode *container;
+  graphene_matrix_t matrix;
+  int i;
+
+  child1 = cairo2 ();
+  child2 = ducky ();
+
+  for (i = 0; i < 5; i++)
+    {
+      node = gsk_cross_fade_node_new (child1, child2, i / 4.0);
+      graphene_matrix_init_translate (&matrix, &(const graphene_point3d_t) { i* 210, 0, 0 });
+      nodes[i] = gsk_transform_node_new (node, &matrix);
+      gsk_render_node_unref (node);
+    }
+
+  gsk_render_node_unref (child1);
+  gsk_render_node_unref (child2);
+
+  container = gsk_container_node_new (nodes, 5);
+
+  for (i = 0; i < 5; i++)
+    gsk_render_node_unref (nodes[i]);
+
+  return container;
+}
+
 static const struct {
   const char *name;
   GskRenderNode * (* func) (void);
@@ -355,6 +388,7 @@ static const struct {
   { "blendmode.node", blendmode },
   { "cross-fade.node", cross_fade },
   { "blendmodes.node", blendmodes },
+  { "cross-fades.node", cross_fades },
 };
 
 /*** test setup ***/